﻿/******************************************************************* 
* Copyright (C)  版权所有
* 创建时间:2019/4/26 8:32:58
* 作    者: zhenhua.shen
* 邮    箱：1025556487@qq.com
* 描    述：类功能描述
* 修改记录:修改类的记录
* 修改人:修改此类的人名称
* 版 本 号:v1.0.0
**********************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ECharts.Title;
using ECharts.Tooltip;
using ECharts.Legend;
using ECharts.Axis;
using ECharts.Series;
using ECharts.ToolBox;
using System.Drawing;
using System.ComponentModel;
using Newtonsoft.Json;
using ECharts.Utility;

namespace ECharts
{
        [Serializable]
        [TypeConverter(typeof(ExpandableObjectConverter))]
        [JsonConverter(typeof(NoTypeConverter<Option>))]
        public class Option
        {  
            /// <summary>
            /// 全图默认背景
            /// </summary>
            public Color backgroundColor { get; set; }


            private Title.Title _title = new Title.Title();
            /// <summary>
            /// 标题，每个图表最多仅有一个标题控件
            /// </summary>
            [JsonProperty("title")]
            public Title.Title Title 
            {
                get {
                    return _title;
                }
            }
            /// <summary>
            /// 提示框，鼠标悬浮交互时的信息提示
            /// </summary>
            [JsonProperty("tooltip")]
            public Tooltip.Tooltip Tooltip { get; set; }
            /// <summary>
            /// 图例，每个图表最多仅有一个图例，混搭图表共享
            /// </summary>
            public Legend.Legend legend { get; set; }
            /// <summary>
            /// 工具箱，每个图表最多仅有一个工具箱
            /// </summary>
            public Toolbox toolbox { get; set; }
            /// <summary>
            /// 是否启用拖拽重计算特性，默认关闭
            /// </summary>
            public bool calculable { get; set; }
            /// <summary>
            /// X轴设置
            /// </summary>
            public List<BaseAxisItem> xAxis { get; set; }
            /// <summary>
            /// Y轴设置
            /// </summary>
            public List<BaseAxisItem> yAxis { get; set; }
            /// <summary>
            /// 系列
            /// </summary>
            public List<SeriesItem> series { get; set; }

        }
 
}
